/*
 *   Copyright 2021 zzh
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *
 */

package com.aduib.boot.common.json;

public class JsonParser$Adaptive2 implements com.aduib.boot.common.json.JsonParser {
    private com.aduib.boot.common.SPI.SPIFactory SPIFactory=com.aduib.boot.common.SPI.SPILoader.INSTANCE;
    @Override
    public boolean validate(java.lang.String arg0)  {
        com.aduib.boot.common.json.JsonParser spi = null;
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"JsonParser");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"jackson");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) return false;
        return spi.validate(arg0);
    }
    public java.lang.String write(java.lang.Object arg0)  {
        com.aduib.boot.common.json.JsonParser spi = null;
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"JsonParser");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"jackson");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) return null;
        return spi.write(arg0);
    }
    public java.lang.Object read(java.lang.String arg0, com.aduib.boot.common.json.TypeCompositeToJson arg1)  {
        com.aduib.boot.common.json.JsonParser spi = null;
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"JsonParser");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) {try {
            spi = (com.aduib.boot.common.json.JsonParser)SPIFactory.getSPI(com.aduib.boot.common.json.JsonParser.class,"jackson");
        } catch (Throwable t) { t.printStackTrace(); }
        }
        if(spi==null) return null;
        return spi.read(arg0, arg1);
    }
}
